Administrator Guide 2017
Concepts - Sub-jobs

Sub-jobs are jobs that exist in a hierarchy.  This can be nested and instructed to behave as a group - eg not releasing an individual job until all jobs have been complete. 

A sub-job isn't ...

A sub-job isn't any job created automatically within template actions, even if it is conditional on a response in the original form or sharing the same data.  Unless specifically defined as a sub-job, the new job would have the same life-cycle as the intial job but would be independent and would only appear to be linked when reading the description in a list (for example the same customer name or location).

A sub-job is ...

A sub-job is, however, a powerful alternative offered by magic5 whereby related jobs (such as re-visits and follow-ups) are explicitly created as children of the initial parent job.  In this way each individual sub-job appears in a users worklist as a job to be done (with one or more associated forms) but the server-side user is able to view all of the sub-jobs (or series of visits) as a group.

Each sub-job can also act as a parent job in its own right for any number of levels.  In this way an initial parent job could contain many groups of sub-jobs with their own sub-jobs.

A parent job’s status is dependent upon the status of all of its sub-jobs so that completing the last job in a group of sub-jobs will also complete the parent job.

A typical example of using sub-jobs is when a lead engineer has assistants who are also using magic5 and have jobs of their own that need to be completed under the umbrella of the lead engineer’s. 

Another use might be to tie together re-visits when parts are required and the initial job needs to remain open until one or more re-visits have been carried out.  In this case it doesn’t matter who the users are for the subsequent visits or the dates – each individual sub-job can be allocated and re-allocated, scheduled and re-scheduled as an independent job.

There are 2 ways in which a sub-job can be created :

1.     Firstly it can be triggered manually with a button in the job editing screen which has been attached to the job definition (Job Definition->Sub-job Action->Option within job screen->Add action)

2.     Secondly it can be triggered automatically by a completed form by selecting the 'Create a new job' Template action (Maintain templates->[template name]->[status required]->Create a new job) and making sure that the 'Create as sub-job of existing job' box is ticked.  Conditions are set (using report processing variables) for the new job creation so that when a form is completed on the device and sent back to the server, the sub-job will be set up only when required.  For example, if the parts required re-visit box has been ticked then a sub-job of the initial job is created, often as an unallocated job which is then scheduled in when the parts become available.

See Also